const { ethers } = require("hardhat");

/**
 * 显示Hardhat网络中的所有测试账户
 */
async function main() {
    console.log("🔍 Hardhat 网络测试账户信息:\n");
    
    // 获取所有签名者（账户）
    const signers = await ethers.getSigners();
    
    console.log(`总共有 ${signers.length} 个测试账户:\n`);
    
    for (let i = 0; i < Math.min(signers.length, 10); i++) {
        const signer = signers[i];
        const balance = await ethers.provider.getBalance(signer.address);
        
        console.log(`账户 ${i}:`);
        console.log(`  地址: ${signer.address}`);
        console.log(`  余额: ${ethers.formatEther(balance)} ETH`);
        console.log(`  用途: ${i === 0 ? '默认部署者' : '测试用户'}`);
        console.log("");
    }
    
    console.log("⚠️  重要提醒:");
    console.log("- 这些是测试网络的账户，仅用于开发");
    console.log("- 私钥是公开的，绝不能用于主网");
    console.log("- 每次重启Hardhat网络，状态会重置");
}

main()
    .then(() => process.exit(0))
    .catch((error) => {
        console.error(error);
        process.exit(1);
    });